/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package unsch.secretaria.dao;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import unsch.secretaria.bean.BProveido;
import unsch.secretaria.bean.BReporteProveido;
import unsch.secretaria.ds.DSConexion;

/**
 *
 * @author davis
 */
public class DAOProveido {

    public synchronized ArrayList<BReporteProveido> mostrarProveido(String codigoExpediente) {

        Connection cn = null;
        CallableStatement call = null;
        ResultSet rs = null;

        ArrayList< BReporteProveido> lstProveido = new ArrayList<BReporteProveido>();
        try {
            String sql = "{CALL ps_mostrarProveido(?)}";

            cn = new DSConexion().getConectar();
            call = cn.prepareCall(sql);
            call.setString(1, codigoExpediente);
            rs = call.executeQuery();
            while (rs.next()) {
                BReporteProveido oBReporteProveido = new BReporteProveido();
                oBReporteProveido.setCodigoProveido(rs.getString(1));
                oBReporteProveido.setCodigoExpediente(rs.getString(2));
                oBReporteProveido.setTipoExpediente(rs.getString(3));
                oBReporteProveido.setAlumno(rs.getString(4));
                oBReporteProveido.setFacultad(rs.getString(5));
                oBReporteProveido.setFecha(rs.getDate(6));

                lstProveido.add(oBReporteProveido);
            }

        } catch (Exception e) {
            System.out.println("Error en mostrar ciclo" + e);
            return null;
        }
        return lstProveido;
    }

    public synchronized ArrayList<BReporteProveido> reporteProveido(String codigoExpediente, String codigoProveido) {

        Connection cn = null;
        CallableStatement call = null;
        ResultSet rs = null;

        ArrayList< BReporteProveido> lstProveido = new ArrayList<BReporteProveido>();
        try {
            String sql = "{CALL ps_reporteProveido(?,?)}";

            cn = new DSConexion().getConectar();
            call = cn.prepareCall(sql);
            call.setString(1, codigoExpediente);
            call.setString(2, codigoProveido);
            rs = call.executeQuery();
            while (rs.next()) {
                BReporteProveido oBReporteProveido = new BReporteProveido();
                oBReporteProveido.setCodigoProveido(rs.getString(1));
                oBReporteProveido.setCodigoExpediente(rs.getString(2));
                oBReporteProveido.setTipoExpediente(rs.getString(3));
                oBReporteProveido.setAlumno(rs.getString(4));
                oBReporteProveido.setFacultad(rs.getString(5));
                oBReporteProveido.setFecha(rs.getDate(6));
                oBReporteProveido.setMotivo(rs.getString(7));

                lstProveido.add(oBReporteProveido);
            }

        } catch (Exception e) {
            System.out.println("Error en mostrar ciclo" + e);
            return null;
        }
        return lstProveido;
    }

}
